package br.com.fafica.librarycourier.usuario.model;

import br.com.fafica.librarycourier.RepositorioException;


public class CadastroUsuario {
	
private IRepositorioUsuario usuarios;
	
	public CadastroUsuario(IRepositorioUsuario repositorio){
		this.usuarios = repositorio;
	}
	
	public void cadastrar(Usuario usuario) throws UsuarioJaCadastradoException, RepositorioException{
		if (usuario != null){
			if (!usuario.existe(usuario.getMatricula())){
				usuarios.inserir(usuario);
			} else {
				throw new UsuarioJaCadastradoException(usuario.getMatricula());
			}
		} else {
			throw new IllegalArgumentException();
		}
	}
	
	public void remover (String matricula) throws UsuarioNaoEncontradoException, RepositorioException{
		usuarios.remover(matricula);
	}

	public void atualizar (Usuario usuario) throws UsuarioNaoEncontradoException, RepositorioException{
		usuarios.atualizar(usuario);
	}

	public Usuario procurar(String matricula) throws UsuarioNaoEncontradoException, RepositorioException{
		return usuarios.procurar(matricula);
	}


}
